from openpyxl import Workbook,load_workbook

from openpyxl.styles import Font,colors,Alignment

import datetime

# --------------------创建一个excel文件 start-------------------------

# wb = Workbook()  #创建一个excel实例

# sheet = wb.active #获取当前活跃的sheet

# sheet.title = '吹牛逼'  #修改sheet名称

# #写数据方法一:单条插入
# sheet['C5'] = '金角大王'
# sheet['B5'] = '银角大王'
# sheet['A5'] = datetime.datetime.now().strftime("%Y-%m-%d")

# #写数据方法二：多条追加，会在最后一行追加
# sheet.append(['郭杰',175,170])

# wb.save('test.xlsx')  #保存

# --------------------创建一个excel文件 end-------------------------

# --------------------打开已存在的excel文件 start-------------------------
wb = load_workbook('excel操作.xlsx')

sheets = wb.sheetnames #'sheet列表'
sheet = wb[sheets[0]]  #当前操作的sheet

print(sheet["A3"],sheet["A3"].value,'获取A3下的数据')

#获取指定列的切片数据
# for cell in sheet['F2:F4']:
#     print(cell[0],cell[0].value)

#循环excel列表
# for row in sheet:

#     for cell in row:
#         print(cell.value,end=',')

#     print()

#循环指定的行数据  min_row:第几行开始，max_row：第几行结束，max_col：几列
# for row in sheet.iter_rows(min_row=2,max_row=4,max_col=5):
#     for cell in row:
#         print(cell.value,end=',')

#     print()

#循环列的数据
# for col in sheet.columns:
#     for cell in col:
#         print(cell.value,end=',')

#     print()

#循环指定的列数据 
for col in sheet.iter_cols(min_col=2,max_col=4,max_row=4):
    for cell in col:
        print(cell.value,end=',')

    print()

sheet['F3'] = '牛皮'
#italic 斜体
myfont = Font(name='宋体',size=20,italic=True,color='00FFBB00')

sheet['F3'].font=myfont
sheet['F3'].alignment = Alignment(vertical='center',horizontal='center') #水平垂直居中

#第二行的行高
sheet.row_dimensions[2].height = 100
#c列的列宽
sheet.column_dimensions['C'].width = 10

wb.save('excel操作2.xlsx') #另存为

# wb.save('excel操作.xlsx') #覆盖原文件

# --------------------打开已存在的excel文件 end-------------------------